Skip Headers

Oracle® Objects for OLE C++ Class Library Developer's Guide 10g Release 2 (10.2) Part Number B14308-01 |
Home | Book List | Contents | Index | Master Index | Feedback

# Supported Data Types

The Oracle Objects for OLE C++ Class Library supports the simplest types of C data types: int, long, double, and char *. Two additional types are defined by the library:

- oboolean, a standard TRUE or FALSE container, and
- oresult, which contains result codes from methods.

In this release, the routines return oresults of either OSUCCESS or OFAILURE to indicate whether the methods succeeded or not. In cases of OFAILURE, other methods should be called to determine the precise error. See Error Handling for more information.

The Oracle database does not store values using C++ data types. It has its own type system. The types that the database uses are:

Types | Description
--- | ---
OTYPE_VARCHAR2 | variable length character
OTYPE_NUMBER | number (either integer or fixed point)
OTYPE_LONG | a long piece of text
OTYPE_ROWID | special record identifier
OTYPE_DATE | a date
OTYPE_RAW | short piece of raw bytes
OTYPE_LONGRAW | a large blob or raw bytes
OTYPE_CHAR | fixed length character
OTYPE_MSLABEL | special type for secure databases

You should consult your Oracle documentation for more information about these types. The text types (varchar2, long and char) are special in that Oracle will perform character set translation on them. A number field may store an integer or a fixed point number depending on its scale and precision. It is important to note that calculations that are done in the database are done with decimal (not binary) rounding.